Currently, it is desirable to replace hard drives in computers and other pervasive computing devices with flash memory. Flash memory is a non-volatile computer memory that can be electrically erased and reprogrammed. It is also common to use an external flash memory device or flash memory universal serial bus (USB) compatible device for communicating with a computer using a USB port in the computer. The proliferation of flash memory is caused, inter alia, by the increased data storage capacity in flash memory, and the lack of moving parts susceptible to break down due to normal mechanical stress, as, for example, with typical hard drives.
However, a disadvantage of using flash memory devices is that the device has a limited number of input/output operations, e.g., read and write operations before the memory fails, that is, a known life cycle. Each time there is a read or write operation the flash memory degrades in an approximately linear fashion, i.e., the rate of memory capability is nearly directly proportional to the number of read and write operations performed against the flash memory device. The degradation is less of a problem when using flash memory in, for example, USB sticks, which are intended for temporary transfer of relatively small amounts of data. However, degradation of the flash memory becomes a larger problem when the flash memory devices are depended on for critical storage of larger amounts of data under higher levels of usage.
Known methods are directed towards the management of flash memory, such as, using different regions of the memory cell when reading and writing so as not to degrade the memory in just a few areas. Other methods test writing of data to the flash memory before writing the data. Other methods track the number of reads and writes to a flash memory drive and prevent activity or relocates data to specific cells after a predetermined number of activity is reached.
It would therefore be desirable to provide a method for ascertaining and indicating memory usage, and a threshold in a known life cycle of the memory device. It would also be desirable to present such data to a user.